package me.exchange.com.modules.system.domain;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.CreationTimestamp;

import javax.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;

/**
 * @author zhaojing
 * @create2020/5/20
 */
@Entity
@Getter
@Setter
@Table(name = "sys_app_pro")
@org.hibernate.annotations.Table(appliesTo = "sys_app_pro",comment = "app管理信息表")
public class Appt implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    @ApiModelProperty(name = "id",value = "ID",required = false)
    private Integer id;

    /** 姓名*/
    @Column(name = "user_name")
    @ApiModelProperty(name = "userName",value = "姓名",required = false)
    private String userName;

    /** app类型名称 1为ios 2为Android*/
    @Column(name = "app_type")
    @ApiModelProperty(name = "appType",value = "APP类型名称",required = false)
    private Integer appType;

    /** app语言名称 1中文 0英文*/
    @Column(name = "app_language")
    @ApiModelProperty(name = "appLanguage",value = "APP语言名称",required = false)
    private Integer appLanguage;

    /** APP的版本号*/
    @Column(name = "app_edition")
    @ApiModelProperty(name = "appEdition",value = "APP的版本号",required = false)
    private String appEdition;

    /** app上线时间*/
    @Column(name = "app_shelf_time")
    @ApiModelProperty(name = "appShelfTime",value = "APP上线时间",required = false)
    private Timestamp appShelfTime;

    /** app是否强制性更新 1未更新 0更新*/
    @Column(name = "app_renew")
    @ApiModelProperty(name = "appRenew",value = "是否强制性更新",required = false)
    private Integer appRenew;

    /** app下载地址*/
    @Column(name = "app_down")
    @ApiModelProperty(name = "appDown",value = "APP下载地址",required = false)
    private String appDown;

    /** 创建人*/
    @Column(name = "c_admin_id")
    @ApiModelProperty(name = "cAdminId",value = "创建人",required = false)
    private Long cAdminId;

    /** 创建日期*/
    @Column(name = "c_admin_time")
    @CreationTimestamp
    @ApiModelProperty(name = "cAdminTime",value = "创建日期",required = false)
    private Timestamp cAdminTime;

    /** 修改人*/
    @Column(name = "u_admin_id")
    @ApiModelProperty(name = "uAdminId",value = "修改人",required = false)
    private Long uAdminId;

    /** 修改日期*/
    @Column(name = "u_admin_time")
    @CreationTimestamp
    @ApiModelProperty(name = "uAdminTime",value = "修改日期",required = false)
    private Timestamp uAdminTime;

    /**是否需要删除 1未删除 0删除 */
    @Column(name = "isdel")
    @ApiModelProperty(name = "isdel",value = "是否需要删除",required = false)
    private Boolean isdel;

    public void Copy(Appt source){
        BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
    }



}
